1. Field of the Invention
Embodiments of the invention relate to a virtual machine monitor and a method of managing virtual machines. In particular, embodiments of the invention relate to the provision of virtual ACPI functionality to virtual machines.
2. Description of the Related Art
Virtualisation may be used, for example, to use a single data processing system, such as a computer, to run multiple operating systems. The operating systems may be different, or may include multiple instances of a single operating system. One reason for using virtualisation is server consolidation, where servers executing in different operating systems are executed using a single data processing system. Such an approach may reduce the cost of implementing the servers as fewer data processing systems may be required, and/or may increase the utilisation of the components of the data processing system.
Operating systems and/or applications such as server applications that execute in the operating systems may execute normally under virtualisation with little or no modification to the operating systems or applications. Virtualisation software is provided that provides a virtual platform that is a simulation of some or all of the components of the data processing system to the operating systems. Therefore, the operating systems and applications use the “virtual” components of the virtual platform. The virtualisation software (often called a virtual machine monitor, VMM) monitors use of the virtual components of the various virtual platforms and allocates use of the “real” components of the data processing system to the operating systems based on use of the corresponding virtual components. An operating system and the applications executing in it are called a virtual machine.
Some data processing systems include Advanced Configuration and Power Interface (ACPI) capabilities. ACPI is a standard for device configuration and power management in data processing systems such as computers. ACPI may be used to manage power usage and performance of the components of the data processing system or the system itself. An operating system executing on the data processing system may provide commands to ACPI functions in a BIOS of the data processing system, causing the data processing system to, for example, report on status of components of the data processing system and/or change the power or performance state of the components or the system. The latest version of the ACPI Specification, currently version 3.0b, is incorporated herein by reference and is available from, for example, http://www.acpi.info/spec.htm.